#ifndef MODELS_H
#define MODELS_H

#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>

#define COURSE_ID_LEN 16
#define COURSE_NAME_LEN 64
#define COURSE_NATURE_LEN 32

#define STUDENT_ID_LEN 16
#define STUDENT_NAME_LEN 64

#define MAX_COURSES_PER_STUDENT 64

typedef struct Course {
	char id[COURSE_ID_LEN];
	char name[COURSE_NAME_LEN];
	char nature[COURSE_NATURE_LEN];
	int32_t total_hours;
	int32_t lecture_hours;
	int32_t lab_hours;
	float credit;
	int32_t term; /* 开课学期：用整数表示，如 1-8 */
} Course;

typedef struct StudentSelection {
	char student_id[STUDENT_ID_LEN];
	char student_name[STUDENT_NAME_LEN];
	char course_ids[MAX_COURSES_PER_STUDENT][COURSE_ID_LEN];
	int32_t selected_count;
	float total_credits;
} StudentSelection;

#endif /* MODELS_H */


